BROWSING ======== Samba has recently begun support for browsing. The browsing is supported by nmbd and is also controlled by options in the smb.conf file (see smb.conf(5)). Samba does not act as a browse master for a workgroup, so it can only participate in workgroups which already have a browse master. If you have any WfWg or WinNT machines in your workgroup that exports a share then you already have a browse master so this shouldn't be a problem. To get browsing to work you need to run nmbd as usual, but need to either give the -G option to elect which workgroup Samba will be part of, or use a lmhosts file. The -G option is most useful for simple setups where Samba is browsable in only one workgroup. In more complex cases the lmhosts file is better. Be very careful setting up your lmhosts file. An incorrectly setup lmhosts file can have disasterous results for your net! A simple lmhosts file might be: # This is a simple lmhosts file # # This is a host alias. Anyone querying this name # will get the specified IP 192.0.2.17 SMBDATA # # first put ourselves in workgroup MYGROUP using # our own net address 0.0.0.0 MYGROUP G Samba has a useful option for a Samba server to offer itself for browsing on another subnet. This works by the lmhosts file specifying a broadcast address on the other network to use to find a browse master for the workgroup. For example if you wanted yourself to appear in the workgroup STAFF on the network which has a broadcast of 192.0.3.255 then this entry would do the trick: # put ourselves in the STAFF workgroup on the other subnet 192.0.3.255 STAFF S Notice the S at the end! It is very important you include this as this entry without the S could cause a broadcast storm! If browsing is causing you trouble you can disable it with the -b option to nmbd. If something doesn't work then hopefully the log.nmb.debug file will help you track down the problem. Note that if it doesn't work for you, then you should still be able to type the server name as \\SERVER in filemanager then hit enter and filemanager should display the list of available shares. Remember: Samba can only participate in EXISTING workgroups. If you specify a workgroup that dosn't exist then browsing won't work. In future versions Samba will probably be able to create it's own workgroups. Some people find browsing fails because they don't have the global "guest account" set to a valid account. Remember that the IPC$ connection that lists the shares is done as guest, and thus you must have a valid guest account. Also, a lot of people are getting bitten by the problem of too many parameters on the command line of nmbd in inetd.conf. This trick is to not use spaces between the option and the parameter (eg: -d2 instead of -d 2), and to not use the -B and -N options. New versions of nmbd are now far more likely to correctly find your broadcast and network addess, so in most cases these aren't needed. FINDING A MASTER BROWSER ======================== Often people find that nmbd has trouble finding a master browser. The likely causes of this problem are: 1) you are using the wrong broadcast address 2) You are using the wrong workgroup name 3) You don't have a master browser. To find out which of the above problems applies to you use the -M switch to nmbd to search for a master browser manually. eg: nmbd -M FOOGROUP -B a.b.c.d This will look for a master browser for the workgroup FOOGROUP using broadcast a.b.c.d. When you successfully find a master browser you know you have the broadcast and group name right. NOTE ABOUT BROADCAST ADDRESSES ============================== If your network uses a "0" based broadcast address (for example if it ends in a 0) then you may strike problems. Windows for Workgroups does not seem to support a 0's broadcast and you will probably find that browsing and name lookups won't work. You have a few options: 1) change to a 1's broadcast on your unix server. These often end in .255 (check with your local network guru for details) 2) set the nmbd broadcast to a 1's based address on the command line using the -B option. 3) explicitly support both broadcasts with two entries in your lmhosts file.